
class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定，请勿修改，直接返回方法规定的值即可
     * 找到2个孩子的糖果数之和等于指定值
     * @param candiesNeed int整型 2个孩子的糖果数之和
     * @param candies int整型一维数组 每个孩子的糖果数
     * @param candiesLen int candies数组长度
     * @return int整型vector
     */
    vector<int> find_children(int candiesNeed, int* candies, int candiesLen) {
        unordered_map<int,vector<int>> map;
        for(int i = 0;i<candiesLen;i++)
        {
            map[candies[i]].push_back(i);
        }
        for(int i = 0;i<candiesLen;i++)
        {
            int target = candiesNeed - candies[i];
            if(map.find(target)!=map.end())
            {
                vector<int> tmp = map[target];
                for(int j = 0;j<tmp.size();j++)
                {
                    if(i!=tmp[j])
                    {
                        return {i,tmp[j]};
                    }
                }
            }
        }
        return {-1,-1};
    }
};